package com.example.yyjgit.tool;

import com.google.gson.Gson;
import com.qiniu.common.Zone;
import com.qiniu.http.Response;
import com.qiniu.storage.UploadManager;
import com.qiniu.storage.model.DefaultPutRet;
import com.qiniu.util.Auth;

public class OSSUtil {
    String UrlHead = "http://ri86bq7zj.hd-bkt.clouddn.com/";//链接头，自定义域名
    String AccessKey="86jdRETCn8NjxKRWL3db7BmUkGOBLdrVWHW2y7Vd";
    String Secret="NNQFmofNlhPBK_oM5So3IVPTZCBZsuX77kJ8CAL7";
    String BucketName="tkcccc";

    /**
     * 文件上传
     * @param FilePath 文件路径
     * @param FileName 文件名称
     * @return boolean：是否上传成功！
     */
    public boolean updateFile(String FilePath, String FileName) {
        boolean flag =false;
        //华北是zone1, [华东z0] [华南z2] [北美na0] [东南亚as0]
        try{
            com.qiniu.storage.Configuration configuration = new com.qiniu.storage.Configuration(Zone.zone0());//七牛云配置文件
            UploadManager uploadManager = new UploadManager(configuration);//七牛云上传管理
            Auth auth = Auth.create(AccessKey,Secret);//需要传入Key和Secret
            String token = auth.uploadToken(BucketName);//需要传入OSS桶名称
            Response response = uploadManager.put(FilePath,FileName,token);//上传对象
            DefaultPutRet putRet = new Gson().fromJson(response.bodyString(),DefaultPutRet.class);//将处理结果转化为JSON
            System.out.println(putRet.key);//输出返回结果
            System.out.println(UrlHead+FileName);//输出OSS地址
            flag=true;
        }catch (Exception e){
            e.printStackTrace();
        }
        return flag;
    }

    /**
     * 下载路径URL
     * @param FileName 文件名
     * @return URL
     */
    public String downLoadUrl(String FileName){
        String Url ="";
        try{
            String tempUrl=UrlHead+FileName;//临时下载地址
            Auth auth = Auth.create(AccessKey,Secret);//需要传入Key和Secret
            long time=3600;//链接有效时间 单位s
            Url=auth.privateDownloadUrl(tempUrl,time);
        }catch (Exception e){
            e.printStackTrace();
        }
        return Url;
    }
}
